package org.blade.personal.framework.orm.base;

import org.blade.personal.framework.components.metadata.TypeMetaData;
import org.blade.personal.framework.dsl.express.Expression;
import org.blade.personal.framework.orm.AbstractTypeAlias;
import org.blade.personal.framework.orm.TypeAlias;

/**
 * String alias
 * 
 * @author ZGF
 * @version 0.1
 */
public class StringAlias extends AbstractTypeAlias<String> implements
		TypeAlias<java.lang.String> {

	public StringAlias(Attribute<String> attr, String clause, String alias,
			String sqlAlise, String type, Expression expr) {
		TypeMetaData<String> metaData = new TypeMetaData<String>(attr,  clause,  alias,
				 sqlAlise,  type,  expr);
		this.init(metaData);
	}
	
	public StringAlias(TypeMetaData<String> metaData){
		super(metaData);
	}

	
	public StringAlias(){
		
	}

	public StringAlias(String name, String value,
			String table, String tableAlise, String javaType) {
		this.attr = new Attribute<String>(name, value, table);
		this.alias = tableAlise;
		this.type = javaType;
	}

	public TypeAlias<String> setAlise(String alise){
		this.alias = alise;
		return this;
	}
	
}
